home *** CD-ROM | disk | FTP | other *** search
-
- MKick 1.6
-
- (c) 1992-1994 MJSoft System Software
-
- Martin Mares
-
- ==============================================================================
-
-
- Introduction:
- -------------
-
- MKick is a replacement of KickIt, ZKick and LKick kickers for use on
- machines with kickstart 1.2 or 1.3 in ROM (It also tries to be as powerful
- as SinSoft's SKick).
-
- The main advantages of MKick are:
-
- - ability to relocate any kickstart to CHIP, FAST (C0-RAM), NON-AUTOCONFIG
- RAM or EXPANSION RAM if a relocation table is supplied.
-
- - standard operation (like ZKick) if the relocation table is not available.
-
- - reading of both KickIt and ROM Image kickstart formats (encrypted
- beta-ROMs for A600 must be converted by MakeKick)
-
- - patch function using supplied patch file (may correct known kickstart bugs).
-
- - can be started from both the command line and the Workbench.
-
- - Graphic User Interface (GUI).
-
- - Small code size, because it's written completely in assembly.
-
- - loaded kickstart survives user reset and crashes (when the ExecBase is not
- destroyed).
-
- - C0-RAM salvage: many kickstarts perform destructive tests of C0-RAM (FAST
- RAM). MKick stores critical bytes in its own storage and restores their
- contents after memory tests.
-
- - If you have kickstart 39.106 or higher, the alert timing constant
- (execbase+$20E) won't be lost during reboot.
-
- - Non-autoconfig can be added automatically without using special resident
- utilities.
-
- - ROM Kickstart can be relocated to RAM. This speeds up system operation on
- the most of accelerated systems (e.g. GVP A530 Turbo). In this case, you
- needn't the kickstart image file, MKick will load it directly from your ROM.
-
- - Waits for all disks to be validated before performing any operation.
-
- New in V1.6:
-
- - New memlist named Kickstart is created if the KS image is not stored in
- one of of original memlists. This prevents MonAm from treating KS image
- as out-of-memory space.
-
- - Ability to get rid of resident modules by simply pressing the left mouse
- button at correct time (see below).
-
- - The .RTB files are no longer distributed in this archive, because I have
- never heard about anyone trying to modify the kickstart headers. If you
- need the RTB to recompile the kickstart header for patch inclusion, you can:
- (1) Download the latest version of SKick archive, which contains the
- RTB files.
- (2) Extract the RTBL chunk from the .kick file. (Extract only chunk body,
- not the header!)
- (3) Ask me.
-
-
- Copyright:
- ----------
-
- MKick, its documentation and all the utilites (MakeKick, MakeKickDisk and
- SwitchScript) are Copyright (C) MJSoft System Software 1994, Prague, Czech
- Republic.
-
- This archive may be freely redistributed, but only in original unmodified
- state. No files can be added, modified, removed etc. All copyright notices in
- the programs and accompanying documentation files must remain on their places.
- Also '.displayme' and other similar files may not be added.
-
-
- Contents of the archive:
- ------------------------
-
- MKick - executable code of the program
- MKick.info - icon
- MKick.doc - this file
- History - history of development
- MakeKick - utility for making of kickstart header files
- MakeKick.doc - its documentation
- MakeKickDisk - utility for making of kickstart disks with track-loader
- MakeKickDisk.doc - its documentation
- README.3.1 - some information on 3.1 kickstarts
- SwitchScript - utility for easy switching of startup scripts
- SwitchScript.doc - its documentation
- SumKick - utility for calculating the kickstart image checksum
- SumKick.doc - its documentation
-
- KSHD/*.kick - kickstart headers for various kickstarts
- KSHD/*.kshd - source files for kickstart headers
-
- Delta/* - delta files to recover patched kickstarts
- (see delta/README for more info)
-
- Included kickstart headers:
- ---------------------------
-
- The kickstart header files containing the relocation table and information
- needed to load the kickstart are supplied for following kickstarts:
-
- kick37175.A500 standard 2.04 for A500+
- kick39046.A500.BETA beta-version of 3.0 (*)
- kick39106.A1200 standard 3.0 for A1200
- kick39110.A500.BETA beta-version of 3.0 (*)
- kick39115.A3000.BETA beta-version of 3.0 (*)
- kick39115.A3000SK.BETA beta-version of 3.0, SuperKickstart file (*)
- kick40003.A3000.BETA beta-version of 3.0, SuperKickstart file (*)
- kick40038.A600.BETA beta-version of 3.1 (*)
- kick40068.A600 final version of 3.1
-
- (*)- Available only to official developers.
-
- For 3.1 kickstarts, see notes in README.3.1.
-
- If you have a kickstart which is not included in this list, try to download
- latest version of SKick if it contains RTB and PAT files for your kickstart
- and convert them by the MakeKick utility (AUTO option).
-
-
- System requirements:
- --------------------
-
- - Amiga 500, 1000 or 2000
-
- - Minimally 1 meg of RAM (all possible combinations)
-
- - Kickstart 1.2 or 1.3 in ROM
-
- - arp.library in the LIBS: directory
-
-
- Installation:
- -------------
-
- The kickstart images are normally stored in directory DEVS:Kickstarts.
- The kickstart header files are stored on the same place. This directory is
- searched automatically in the GUI mode and can be overriden by the KICKDIR
- option (see below).
-
- To install MKick, copy the MKick executable (with its icon) into any place
- where you wish to have it, create the DEVS:Kickstarts directory and copy
- header files for all your kickstarts to it. Then copy the kickstart images
- itself and rename them to names of header files, but without any extension
- (it's also possible to rename the header files according to kickstart image).
- All the files of one particular kickstart must have identical names (except
- extensions).
-
- Note: There are no kickstart images in this archive.
-
- For best operation, you should insert calling of MKick as the first line of
- your Startup-sequence. It allows MKick to handle all operations requiring
- system reboot (switching from one kickstart in RAM to another one etc.)
- automatically. When you hold down the left mouse button during system reboot,
- the GUI screen will appear.
-
-
- MKick usage:
- ------------
-
- MKick may be called either from the CLI or from the Workbench.
-
-
- Invocation from the CLI
- -----------------------
-
- Syntax: MKick [<kickstart>] [<memory options>] [<other options>]
- [<debug options>]
-
- Kickstart specification:
-
- These parameters specify which kickstart do you want to use:
-
- <name> - install kickstart specified by its name
- GUI - show GUI allowing to select the kickstart and some basic
- options by the mouse (or the rat if you have one :-)
- ROM - go back to ROM kickstart
-
- Memory options:
-
- These options control the place you want to store the kickstart on:
-
- NOREL - load kickstart to its original memory location. Used automati-
- cally when you have no relocation table for the kickstart.
- But only few kickstarts are on such locations where you have
- some RAM. (Many kickstarts are stored in standard ROM memory
- (at F80000 and higher). Only the beta-ROMs are located at
- 200000 (standard expansion memory) sometimes.)
-
- ADR <address> - load kickstart at specified address. It's used mostly for
- debugging or when kicking to RAM placed on unusual location.
- The address is specified in hexadecimal (base-16) notation.
- All addresses of type 00xx0000 (xx is any number) can be
- written in short form: xx (this is the notation introduced
- in SKick). The kickstart address must be a multiple of 64K
- (the last four digits _MUST_ be 0) and mustn't be less than
- 40000.
-
- CHIP,FAST,EXP,NAC - load kickstart to CHIP/FAST/EXPANSION/NON-AUTOCONFIG MEMORY.
- These options may be combined (you can say MKick kick34005.a500
- CHIP FAST) and MKick will automatically select the best possible
- location. (The standard order is NAC/EXP/FAST/CHIP, from top
- to bottom. It is based on standard priority scheme used by Exec.
- See also ADDMEM.) These options affect memory types offered
- by the GUI.
-
- <nothing> - When you specify no memory control options, MKick will assume
- that CHIP, FAST, EXP and NAC options are set.
-
- ADDMEM <base> <size> [<priority>] - add a region of NON-AUTOCONFIG RAM to the
- system. The non-autoconfig (NAC) RAM can be found on many
- accelerated systems. The basic property of this type of memory
- is that it's present when the machine is rebooted, but no part
- of the operating system is able to find it and give it to all
- application programs. The manufacturers usually supply some
- utility which is able to do the memory adding for you, but these
- utilities have significant problems with the most of kickers.
- In this case, you can simply say MKick where is your memory
- located, how large is it (specified in bytes; both the address
- and the size are hexadecimal numbers; the shortened form used
- by ADR can be used here, too). The priority is a decimal number
- in range <-128;127>. All regions of available memory are sorted
- by their priority (expansion memory has 10, fast RAM 0, chip RAM
- -10, default for ADDMEM is 20). When a program tries to allocate
- some memory, the Exec will use available memory chunk with the
- highest priority it founds and because the NAC RAM is often the
- fastest one in the system, it's very good to use it first.
-
- Other options:
-
- AUTO - exit if already kicked. The operation you have selected won't be
- done if there is already some kickstart in RAM or if you sele-
- cted (by the ROM option or by the GUI) that you want to use ROM
- kickstart. For example: if you have MKick in your startup-sequence
- and you want to start KS 3.0 when you boot first time, you can
- say 'MKick DEVS:Kickstarts/Kick39106.A1200 AUTO' in this case.
- It will prevent MKick from trying to re-kick whenever you boot
- and will allow you to stay in ROM KS without changing anything.
- you can also say 'MKick AUTO GUI' - it displays GUI only when
- you didn't select any kickstart before.
-
- NOTAGS - remove all resident modules before kicking. MKick tries to use
- smart algorithm of removing of modules, which could cause system
- crash, but there could be an exception that isn't capable of
- being handled by this way. If MKick doesn't work on your system,
- try to use this option.
-
- NOPATCH - don't use the patches. The patch tables are usually built to
- fix known kickstart bugs. Some of these bugs can cause wrong
- operation of kickers. Don't use this option when you don't know
- what are you really doing.
-
- KICKDIR <x> - search for kickstarts in specified directory. The default is
- "DEVS:Kickstarts". It affects only the GUI.
-
- CACHE - turn on CPU caches as soon as it's possible. The machines
- equipped with 68020 or higher CPU have a CACHE MEMORY. When
- it's used, it speeds up a bit all operations, but not all
- programs are compatible with this CPU enhancement. The caches
- are normally switched on by CPU, SETCPU or other similar
- command, which can be started from the startup-sequence.
- If you want to enable the caches automatically, you should
- specify this option.
-
- Debug options:
-
- WAIT - wait for RETURN key before resetting the machine. If you enter
- 'q', MKick will stop the action and exit immediately without
- deallocating any memory, therefore you can look at MKick's
- resident module and similar things. If you see that something
- is wrong, you can press CTRL-C (MKick checks CTRL-C before it
- installs the resident tags and before each reboot). In this
- case, MKick deallocates all used memory and terminates. The
- checking of CTRL-C doesn't depend on WAITing.
-
- DEBUG - turn on debugging information. It consists of two sequences
- of colourful stripes displayed during reboot with RAM KS.
- The first set of stripes (all colours) is displayed before
- the RAM KS is started. The second (black & white) one is
- displayed when MKick fixes RAM, adds autoconfig devices
- and does many other things. During the second phase, if you
- hold the left mouse button and you have KS V36 or higher, the
- startup-sequence will be disabled (the mouse button is tested
- immediately after the black & white stripes appear). Please
- include effect of this option if you are preparing a bug
- report for me. Warning: pressing of LMB during the first phase
- has different effect - removing of all resident modules.
-
- NOTEST - don't test kickstart image before using it. Don't use, because
- invalid kickstart images don't work properly.
-
- FORCE - don't fail if kickstart memory can't be allocated. Used rarely,
- but if you have some non-autoconfig memory at $600000 and you
- don't want to use ADDMEM and the memory is not added to the
- system, you should enter 'MKick <kickstart name> ADR 60 FORCE'.
-
-
- Invocation from Workbench:
- --------------------------
-
- Simply double-click on MKick's icon and MKick will be started. Using
- 'Info' or 'Information' (WB 2.0 or higher), you may specify all previously
- mentioned options using the tool types. The boolean (ON/OFF) switches can be
- enabled using their name followed by '=' or '=ON'. If the kickstart name
- (FILE=) is not specified, the GUI is started automatically.
-
-
- Graphic User Interface:
- -----------------------
-
- When MKick is started in the GUI mode, a screen with a list of available
- kickstarts will appear. You may select the kickstart you want to use or hit
- 'Cancel'.
-
- Then you may select the type of RAM you want to store the kickstart to
- (ORIGINAL location, CHIP RAM, FAST RAM, EXP RAM, NAC RAM or ANY RAM if you
- want to choose the optimal location automatically). It's also possible to
- disable the patches. Then hit the 'OK' gadget to start the whole loading
- process.
-
-
- Types of operations:
- --------------------
-
- - Normal loading - used when you load the kickstart to memory which is free
-
- - Loading to temporary buffer - used when you want to load the kickstart to
- memory which is not free, but if there is some room to load the image to.
-
- - Hard loading - used if the FORCE option has been specified. In this case,
- the RAM block containing the kickstart image will be allocated only if it's
- possible. Unsuccessful allocation will not be reported.
-
- - Disconnecting of C0-RAM - used if you have only 0.5M of CHIP RAM and 0.5M
- of FAST RAM. MKick will perform a reset to disconnect the FAST RAM from the
- system memory list. Then (if started again) it will load the kickstart to the
- disconnected C0-RAM.
-
- - Loading from kickstart disk - MKick allows to load the kickstart from the
- floppy. It supports original SuperKickstart disks for the A3000 and the
- specially formatted disks created by MakeKickDisk.
-
- - Removing of RAM kickstart - uses reset
-
- - Replacing RAM kickstart by another RAM kickstart - uses reset to remove the
- old one and then (if started again, normally from the Startup-sequence) tries
- to load the kickstart using one of previously mentioned methods.
-
-
- Common problems:
- ----------------
-
- - MKick has no effect - normal reboot happens: Some resident modules collide
- with MKick. MKick normally tries to remove such modules, but ... you can fix
- it by using of the NOTAGS option or by removing the module manually.
-
- - Colourful stripes move on the screen and the machine seems to be crashed:
- It occurs when MKick isn't able to allocate the kickstart block memory. Try
- the operation again after a cold reboot.
-
- - Black and white stripes and the machine seems to be crashed: Kickstart image
- checksum error during AUTOSUM test. Some program has destroyed the kickstart.
- Use MKick again.
-
- - Black and white stripes, which disappear if you press the left mouse button:
- MKick is unable to allocate space for some resident module. This should not
- happen, but when it happens, it can be fixed if you select the NOTAGS switch.
-
- - Quickly blinking power led with red color of screen background: Kickstart
- image checksum doesn't match. Some program has destroyed the kickstart. Use
- MKick again.
-
- - "Incorrect or suspicious kickstart file" message: the kickstart file you
- have supplied is corrupted or encrypted. The only thing you can do with
- corrupted kickstart files is to throw them out. The encrypted files can be
- decrypted using the MakeKick utility (see the KICKTO option of MakeKick).
-
- - "Incorrect kickstart address in header file","Invalid kickstart original
- address","Corrupted kickstart file","Kickstart file doesn't match the header",
- "Error reading kickstart file" and other similar messages: The kickstart file
- you have supplied doesn't match the kickstart header. Your kickstart can be
- corrupted or patched, but there's also a possibility that you have choosed
- wrong name of the kickstart.
-
- - MKick can crash if you use some ROM remapping utility.
-
-
- Removing of resident modules:
- -----------------------------
-
- In several situations, you might want to remove all resident modules
- which survive reset (such as RAD, NewAlertHook etc. - especially useful
- if debugging such a thing). MKick can help you: If you hold the left mouse
- button during system reboot (after initialization of ROM kickstart, but before
- start of RAM one), the resident modules except MKick's own module are removed.
-
- Warning: If you want to invoke bootmenu, you must press the buttons
- after the RAM kickstart is started to avoid the actions described above.
-
-
- Thanks:
- -------
-
- - to Commodore-Amiga for the Operating System.
-
- - to SinSoft for his SKick and a lot of good ideas.
-
- - to Tomas Zikmund, Petr Cisar and Stefan Stuntz for beta-testing.
-
- - ... (for ...?)
-
-
- Final words:
- ------------
-
- This program, its documentation and all other files contained in this
- archive, are (c) Copyright Martin Mares, Kankovskeho 1241, 182 00 Praha 8,
- Czech Republic. This package is provided as is, any warranties cannot be
- applied. Any usage of this program or other parts of this archive will be
- done at your own risk!
-
- Known bugs: MKick probably doesn't work with 68040 CPU, because I have no
- beta-testers with such machine and I have no documentation for
- this CPU.
-
- Send bug reports and comments to mjsoft@k332.feld.cvut.cz
- (When sending a bug report, you should describe what happens,
- including effect of the NOTAGS, DEBUG and NOTEST options. Also try
- to detect any dependence on memory you have the kickstart stored in
- (use FAST, CHIP, EXP options) and don't forget to specify your
- hardware configuration.)
-
- Excuse me for my bad English and all bugs.
-